package aiku.numericalcontroloa.Service;

import aiku.numericalcontroloa.Base.Utils.Result;
import aiku.numericalcontroloa.Model.Dto.DieOrderDto;
import aiku.numericalcontroloa.Model.Entity.DieOrder;

import java.time.LocalDate;

import com.github.yulichang.base.MPJBaseService;

/**
 * @author 马
 * @description 针对表【die_order】的数据库操作Service
 * @createDate 2024-05-13 16:46:52
 */
public interface DieOrderService extends MPJBaseService<DieOrder> {
    Result createOrder(DieOrderDto dieOrder);

    Result updateOrder(DieOrderDto dieOrder);

    Result updateRoot(DieOrder dieOrder);

    Result getOrderList(DieOrderDto dieOrder);

    Result updateOrderStatus(DieOrderDto dieOrder);

    Result getOrderListByUser(LocalDate startDate, LocalDate endDate, Integer select, String name, Integer page,
            Integer size);

    Result getAllOrderListByUser(LocalDate startDate, LocalDate endDate, Integer select, String name);

    Result getIncomeRanking(String yearOrMonth);

    Result getOrderCommission(String customId);

    Result getOrderListByLike(String name, Integer type, Integer page, Integer size, LocalDate startDate,
            LocalDate endDate);

    Result getOrderListByLikeAndUser(String name, Integer page, Integer size);

    Result userNameDieOrderInfo(String name, LocalDate startDate, LocalDate endDate);

    Result successOrders(String id);

    Result deleteOrders(String id);

    Result setReceivables(String id, String accountId);

    Result getStatistics(String yearOrMonth);

}
